package IPrototipo.Funcionalidades.ABMCompetencia;

import java.awt.ComponentOrientation;
import java.awt.Dimension;
import java.util.Vector;

import javax.swing.BoxLayout;
import javax.swing.JPanel;
import javax.swing.JTable;

import IPrototipo.Entidades.Participante;
import IPrototipo.Funcionalidades.Menues.MyTableModel;
import IPrototipo.Funcionalidades.Menues.PanelGeneral;
import IPrototipo.Funcionalidades.Menues.FrameUsuarioAutenticado;
import IPrototipo.Funcionalidades.Menues.iDialogGeneral;

import javax.swing.JScrollPane;
import javax.swing.border.TitledBorder;
import javax.swing.JButton;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Box;





public class listarParticipantes extends PanelGeneral {

	

	private static final long serialVersionUID = 1L;
	private String[] columnNamesParticipantes={"Nombre","Contacto"};
	private String[][] stringParticipantes;
	private JTable table;
	private Participante nuevo;
	
	public listarParticipantes(FrameUsuarioAutenticado framePerteneciente) {
		
		super(framePerteneciente);
		setParticipantesCompetencia(new Vector<Participante>());
		
		setPreferredSize(new Dimension(800, 500));
		setAlignmentY(1.0f);
		setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
		
		setNombreCU("Participantes de la Compentecia");
		
		JPanel panelGeneral = new JPanel();
		panelGeneral.setOpaque(false);
		add(panelGeneral);
		panelGeneral.setLayout(new BoxLayout(panelGeneral, BoxLayout.Y_AXIS));
		
		Component glue = Box.createGlue();
		panelGeneral.add(glue);
		
		
		JPanel panelResultados = new JPanel();
		panelResultados.setOpaque(false);
		panelGeneral.add(panelResultados);
		panelResultados.setLayout(new BoxLayout(panelResultados, BoxLayout.Y_AXIS));
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBorder(new TitledBorder(null, "Lista de Participantes", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panelResultados.add(scrollPane);
		scrollPane.setMaximumSize(new Dimension(500,500));
		scrollPane.setPreferredSize(new Dimension(300,300));
		
		participantesToString();

		
		table = new JTable();
		table.setModel(new MyTableModel(columnNamesParticipantes, stringParticipantes));
		table.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
		scrollPane.setViewportView(table);
		table.setRowSelectionAllowed(true);
		table.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
		
		JPanel panelExtends = new JPanel();
		panelExtends.setOpaque(false);
		panelGeneral.add(panelExtends);
		panelExtends.setMaximumSize(panelLabel);
		
		JButton btnAgregar = new JButton("Agregar");
		panelExtends.add(btnAgregar);
		btnAgregar.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {
			altaParticipante inuevo=new altaParticipante(getFramePerteneciente(),true);
			((iDialogGeneral) inuevo).activarDG();
			nuevo= inuevo.getNuevo();
			getParticipantesCompetencia().add(nuevo);
			participantesToString();
			table.setModel(new MyTableModel(columnNamesParticipantes, stringParticipantes));
			
			
			}
		});
		btnAgregar.setPreferredSize(datos);
		
		Component horizontalStrut = Box.createHorizontalStrut(20);
		panelExtends.add(horizontalStrut);
		
		JButton btnModificar = new JButton("Modificar");
		panelExtends.add(btnModificar);
		btnModificar.setPreferredSize(datos);
		
		Component horizontalStrut_1 = Box.createHorizontalStrut(20);
		panelExtends.add(horizontalStrut_1);
		
		JButton btnEliminar = new JButton("Eliminar");
		panelExtends.add(btnEliminar);
		btnEliminar.setPreferredSize(datos);
		
		Component verticalStrut = Box.createVerticalStrut(20);
		panelGeneral.add(verticalStrut);
		
		JPanel panelBotones = new JPanel();
		panelBotones.setOpaque(false);
		panelGeneral.add(panelBotones);
		
		JButton btnAceptar = new JButton("Aceptar");
		panelBotones.add(btnAceptar);
		
		Component horizontalStrut_2 = Box.createHorizontalStrut(20);
		panelBotones.add(horizontalStrut_2);
		
		JButton btnCancelar = new JButton("Cancelar");
		panelBotones.add(btnCancelar);
		
		Component glue_1 = Box.createGlue();
		panelGeneral.add(glue_1);


		

	}
	
	private void participantesToString(){
		stringParticipantes=null;
		if(!participantesCompetencia.isEmpty()){
			stringParticipantes=new String[participantesCompetencia.size()][2];
			for(int i=0;i<participantesCompetencia.size();i++){
				stringParticipantes[i][0]=participantesCompetencia.get(i).getDatosActuales().getNombre();
				stringParticipantes[i][1]=participantesCompetencia.get(i).getDatosActuales().getCorreoElectronico();
				}
			}
		}
	private Vector<Participante> getParticipantesCompetencia() {
		return participantesCompetencia;
	}

	private void setParticipantesCompetencia(
			Vector<Participante> participantesCompetencia) {
		this.participantesCompetencia = participantesCompetencia;
	}

	private Vector<Participante> participantesCompetencia;

}
